const app = getApp();

/**
 * 下载 PDF 到本地并打开
 * @param {String} pdfUrl - PDF 网络地址
 * @param {String} fileName - 保存的文件名（可选）
 */
export function openPdf(pdfUrl, fileName = 'report.pdf') {
  return new Promise((resolve, reject) => {
    // 显示加载中
    wx.showLoading({ title: '加载 PDF 中...', mask: true });

    // 1. 下载 PDF 到本地临时路径
    wx.downloadFile({
      url: pdfUrl,
      filePath: wx.env.USER_DATA_PATH + '/' + fileName, // 指定保存路径
      success: (res) => {
        const tempFilePath = res.filePath;
        if (res.statusCode !== 200) {
          wx.hideLoading();
          reject('PDF 下载失败');
          return;
        }

        // 2. 打开本地 PDF
        wx.openDocument({
          fileType: 'pdf',
          filePath: tempFilePath,
          showMenu: true, // 允许用户转发/保存
          success: () => {
            resolve('PDF 打开成功');
          },
          fail: (err) => {
            reject('PDF 打开失败：' + err.errMsg);
          },
          complete: () => {
            wx.hideLoading();
          }
        });
      },
      fail: (err) => {
        wx.hideLoading();
        reject('下载失败：' + err.errMsg);
      }
    });
  });
}